home *** CD-ROM | disk | FTP | other *** search
/ PC Plus SuperCD (UK) 1998 August / PC Plus SuperCD 50a Issue 142 (CD142a) (August 1998).iso / trial / demon / TURNPIKE.1 / CLASSES.ZIP / sun / AUDIO / AudioPlayer.class (.txt) < prev    next >
Encoding:
Java Class File  |  1997-04-14  |  1.4 KB  |  51 lines

  1. package sun.audio;
  2.  
  3. import java.io.InputStream;
  4.  
  5. public class AudioPlayer extends Thread {
  6.    private AudioDevice devAudio;
  7.    public static final AudioPlayer player = new AudioPlayer();
  8.  
  9.    private static ThreadGroup getAudioThreadGroup() {
  10.       Thread var0 = Thread.currentThread();
  11.  
  12.       for(var2 = var0.group; var2.parent != null; var2 = var2.parent) {
  13.          ThreadGroup var1 = var2.parent;
  14.          if (var1.parent == null) {
  15.             break;
  16.          }
  17.       }
  18.  
  19.       return var2;
  20.    }
  21.  
  22.    private AudioPlayer() {
  23.       super(getAudioThreadGroup(), "Audio Player");
  24.       this.devAudio = AudioDevice.device;
  25.       ((Thread)this).setPriority(10);
  26.       ((Thread)this).checkAccess();
  27.       if (((Thread)this).isAlive()) {
  28.          throw new IllegalThreadStateException();
  29.       } else {
  30.          super.daemon = true;
  31.          ((Thread)this).start();
  32.       }
  33.    }
  34.  
  35.    public synchronized void start(InputStream var1) {
  36.       this.devAudio.openChannel(var1);
  37.       this.notify();
  38.    }
  39.  
  40.    public synchronized void stop(InputStream var1) {
  41.       this.devAudio.closeChannel(var1);
  42.    }
  43.  
  44.    public void run() {
  45.       this.devAudio.open();
  46.       this.devAudio.play();
  47.       this.devAudio.close();
  48.       System.out.println("audio player exit");
  49.    }
  50. }
  51.